package leetcode.code077.Combinations;

import java.util.List;

import leetcode.IDebug;
import leetcode.helper.HelpDebug;

public abstract class Combinations implements IDebug {

	abstract public List<List<Integer>> combine(int n, int k);

	@Override
	public void debug1() {
		int n = 4, k = 2;
		int[][] Output =
				{
				  {2,4},
				  {3,4},
				  {2,3},
				  {1,2},
				  {1,3},
				  {1,4},
				};

		List<List<Integer>> result = this.combine(n, k);
		HelpDebug.printObject(n);
		HelpDebug.printObject(k);
		HelpDebug.printObject(Output);
		HelpDebug.printObject(result);
	}

	@Override
	public void debug2() {
		int n = 4, k = 3;
		int[][] Output =
				{
				  {2,4},
				  {3,4},
				  {2,3},
				  {1,2},
				  {1,3},
				  {1,4},
				};

		List<List<Integer>> result = this.combine(n, k);
		HelpDebug.printObject(n);
		HelpDebug.printObject(k);
		HelpDebug.printObject(Output);
		HelpDebug.printObject(result);
	}

	@Override
	public void debug3() {
		// TODO Auto-generated method stub

	}

	@Override
	public void debug4() {
		// TODO Auto-generated method stub

	}

}
